抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

判断条件If在编程语言中是十分重要的存在。在Adobe Form中也有类似的对象可以起到If语句的功能就是Alternative。它可以根据一定的条件来打印不同的内容到PDF文件上。

Adobe Form的Alternative

一、介绍

判断条件If在编程语言中是十分重要的存在。在Adobe Form中也有类似的对象可以起到If语句的功能就是Alternative。它可以根据一定的条件来打印不同的内容到PDF文件上。

二、功能实现

1.Interface

(1)创建Interface

使用事物代码 SFP 打开Adobe Form的维护界面。填入Interface的名称。

1.Interface_创建对象

(2)填写描述

2.Interface_填写描述

(3)添加输入参数

添加如下三个输入参数。完成之后点击保存并激活Interface对象。

变量名称 变量类型 Optional Flag 作用
FLAG CHAR1 X 判断条件变量
TEXT1 CHAR255 X 输出文本1
TEXT2 CHAR255 X 输出文本2
3.Interface_创建输入参数

2.Adobe From

(1)创建Adobe Form

回到Adobe Form的创建界面,填写名称后点击创建按钮。

4.Adobe From_创建Form

(2)填写描述并绑定Interface

5.Adobe From_绑定Interface并填写描述

(3)添加输入变量

将从Interface中带过来的输入参数添加到Context中。

6.Adobe From_导入输入参数

(4)创建Alternative对象

和创建Text对象一样,在Context上右键,然后创建。

7.Adobe From_创建Alternative对象 8.Adobe From_Alternative对象

Alternative对象的 True / False 就是我们用来条件打印的对象。当满足True的条件时就会打印True中的内容,反之为False。

(5)设置Alternative对象

将上面导入的Text1变量与Text2变量分别拖放到True条件和False条件下。

9.Adobe From_设置Alternative对象的True和False

双击ALTERNATIVE对象,点击Alternative Conditions页签。点击新建按钮,添加一条判断条件。

10.Adobe From_设置Alternative对象的判断条件

当Flag变量的值为“X”时即为True,反之则为False。

(6)设置Layout

转到Layout页签,打开Data View页签。将True和False下面的文本对象拖动到Form中进行展示。

11.Adobe From_设置Layout

进行完成上面的操作之后保存并激活Adobe Form对象。

三、Form测试

1.程序测试

(1)测试源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
*======================================================================*
* Selection Screen
*======================================================================*
PARAMETERS : p_flag TYPE char1.
*======================================================================*
* Data Objects
*======================================================================*

DATA: gv_fm_name TYPE rs38l_fnam, " FM Name
gs_fp_docparams TYPE sfpdocparams,
gs_fp_outputparams TYPE sfpoutputparams,
gv_text1 type char255,
gv_text2 type char255.

*======================================================================*
* Constants
*======================================================================*
CONSTANTS : gv_form_name TYPE fpname VALUE 'YRAM_ADOBE_FORM10'.

gv_text1 = 'Welcome to Adobe form tutorial'.
gv_text2 = 'Welcome to SAP ABAP'.
*======================================================================*
* START of Calling the Form
*======================================================================*
*&---------------------------------------------------------------------*
**&&~~ Form Processing: Call Form - Open
*
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = gs_fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Get the Function module name based on Form Name
*
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = gv_form_name
IMPORTING
e_funcname = gv_fm_name.
IF sy-subrc <> 0.
" Suitable Error Handling
ENDIF.
*&---------------------------------------------------------------------*
**&&~~ Take the FM name by execuing the form - by using Pattern-
**&&~~ call that FM and replace the FM Name by gv_fm_name
**&&~~ Call the Generated FM

CALL FUNCTION gv_fm_name
EXPORTING
/1BCDWB/DOCPARAMS = gs_fp_docparams
FLAG = p_flag
TEXT1 = gv_text1
TEXT2 = gv_text2
* IMPORTING
* /1BCDWB/FORMOUTPUT =
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&---- Close the spool job
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
* <error handling>
ENDIF.

(2)执行结果

① Flag = ‘X’
12.Form 测试_Flag = X 13.Form 测试_Flag = X_结果
② Flag = null
14.Form 测试_Flag = null 15.Form 测试_Flag = null_结果

四、参考资料

SAP Adobe Form Tutorial. Part X. Alternative in Adobe Forms

评论